package objects.UpdateStarItem
{
	import flash.events.Event;
	import flash.geom.Point;
	import objects.cicleItem.Cicle_Item;
	import objects.cicleItem.itemInCicle;
	import starling.core.Starling;
	import starling.display.Image;
	import starling.display.MovieClip;
	import starling.display.Sprite;
	import starling.events.Event;
	import starling.events.Touch;
	import starling.events.TouchEvent;
	import starling.events.TouchPhase;
	import starling.filters.BlurFilter;
	import starling.filters.ColorMatrixFilter;
	import starling.filters.FragmentFilter
	import com.greensock.TweenLite;
	import com.greensock.*;
	import com.greensock.easing.*;
	
	/**
	 * ...
	 * @author
	 */
	public class cicleItemUpdateStar extends UpdateStar_Item
	{
		private var m_percentCoin:Number;
		public var m_type:int;
		public var colorMatrixFilter:ColorMatrixFilter;
		public var m_itemIndex:Array;
		
		public function cicleItemUpdateStar(_sprite:Sprite, _pos:Point, _type:int,_itemIndex:Array)
		{
			m_itemIndex = _itemIndex;
			super(_sprite, _pos);
			m_type = _type;
			this.addEventListener(starling.events.Event.ADDED_TO_STAGE, init);
			m_percentCoin = Number(database.instance.RESULTCANONARRAY[7]);
			m_percentCoin = m_percentCoin / 100;
			_sprite.addChild(this);
			this.m_level = 0;


			
		}
		
		override public function update(dt:Number):void
		{
		
		}
		public function setStageInfo():void
		{	
			for (var i:int = 0; i < m_baseItem.length; i++)
			{
				if (i < this.m_level)
				{
					m_baseItem[i].m_stage = 1;
				}
				if (i == this.m_level)
				{
					m_baseItem[i].m_stage = 0;
				}
				if (i > this.m_level)
				{
					m_baseItem[i].m_stage = -1;
				}
			}			
			makeStage();
		}
		public function levelUp():void
		{
			this.m_level += 1;
			setStageInfo();
		}
		public function buyStar(starTotal:int):int
		{
			return starTotal - m_baseItem[m_level].m_star;
		}
		public function setCicleInfo():void // gia tri star cho skill
		{
			switch (m_type)
			{
				case 1: 
					m_baseItem[0].m_star = 1;
					
					m_baseItem[1].m_star = 1;
					
					m_baseItem[2].m_star = 2 ;
					
					m_baseItem[3].m_star = 2;
					
					m_baseItem[4].m_star = 3;
					for (var i:int = 0; i < m_baseItem.length; i++)
					{
						m_baseItem[i].showStar();
					}
					setItemInfo();
					break;
				case 2: 
					m_baseItem[0].m_star = 1;
					
					m_baseItem[1].m_star = 1;
					
					m_baseItem[2].m_star = 2 ;
					
					m_baseItem[3].m_star = 2;
					
					m_baseItem[4].m_star = 3;
					for ( i = 0; i < m_baseItem.length; i++)
					{
						m_baseItem[i].showStar();
					}
					setItemInfo();
					break;
				case 3: 
					m_baseItem[0].m_star = 1;
					
					m_baseItem[1].m_star = 1;
					
					m_baseItem[2].m_star = 3 ;
					
					m_baseItem[3].m_star = 3;
					
					m_baseItem[4].m_star = 3;
					for ( i = 0; i < m_baseItem.length; i++)
					{
						m_baseItem[i].showStar();
					}
					setItemInfo();
					break;
			}
		}
		
		public function setItemInfo():void
		{
			switch (m_type)
			{
				case 1: 
					m_baseItem[0].refresh();
					m_baseItem[0].addText("  Cung binh", "0xffffff", 15, 10);
					m_baseItem[0].addText("  Trả về 90% tiền khi bán nhà\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[0].setScale(50);
					
					m_baseItem[1].refresh();
					m_baseItem[1].addText("  Cung binh", "0xffffff", 15, 10);
					m_baseItem[1].addText("  Tăng diện tích bắn của nhà cung binh\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[1].setScale(50);
					
					m_baseItem[2].refresh();
					m_baseItem[2].addText("  Cung binh", "0xffffff", 15, 10);
					m_baseItem[2].addText("  Tăng thêm phần trăm xuyên giáp của cung\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[2].setScale(50);
					
					m_baseItem[3].refresh();
					m_baseItem[3].addText("  Cung binh", "0xffffff", 15, 10);
					m_baseItem[3].addText("  Tăng diện tích bắn của nhà cung binh\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[3].setScale(50);
					
					m_baseItem[4].refresh();
					m_baseItem[4].addText("  Cung binh", "0xffffff", 15, 10);
					m_baseItem[4].addText("  Tăng thêm phần trăm gấp đôi lực sát thương\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[4].setScale(50);
					break;
			case 2: 
					m_baseItem[0].refresh();
					m_baseItem[0].addText("  Bộ binh", "0xffffff", 15, 10);
					m_baseItem[0].addText("  Tăng thêm máu cho lính\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[0].setScale(50);
					
					m_baseItem[1].refresh();
					m_baseItem[1].addText("  Bộ binh", "0xffffff", 15, 10);
					m_baseItem[1].addText("  Tăng thêm giáp cho lính\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[1].setScale(50);
					
					m_baseItem[2].refresh();
					m_baseItem[2].addText("  Bộ binh", "0xffffff", 15, 10);
					m_baseItem[2].addText("  Giảm thời gian hồi sinh và tăng vùng di chuyển\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[2].setScale(50);
					
					m_baseItem[3].refresh();
					m_baseItem[3].addText("  Bộ binh", "0xffffff", 15, 10);
					m_baseItem[3].addText("  Tăng thêm máu cho lính\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[3].setScale(50);
					
					m_baseItem[4].refresh();
					m_baseItem[4].addText("  Bộ binh", "0xffffff", 15, 10);
					m_baseItem[4].addText(" Tăng thêm giáp cho lính\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[4].setScale(50);
					break;
				case 3: 
					m_baseItem[0].refresh();
					m_baseItem[0].addText("  Pháo binh", "0xffffff", 15, 10);
					m_baseItem[0].addText("Tăng lực sát thương\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[0].setScale(50);
					
					m_baseItem[1].refresh();
					m_baseItem[1].addText("  Pháo binh", "0xffffff", 15, 10);
					m_baseItem[1].addText("  Tăng tầm bắn\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[1].setScale(50);
					
					m_baseItem[2].refresh();
					m_baseItem[2].addText("  Pháo binh", "0xffffff", 15, 10);
					m_baseItem[2].addText("  Giám giá nhà 10%\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[2].setScale(50);
					
					m_baseItem[3].refresh();
					m_baseItem[3].addText("  Pháo binh", "0xffffff", 15, 10);
					m_baseItem[3].addText("  Giám giá nhà 25%\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[3].setScale(50);
					
					m_baseItem[4].refresh();
					m_baseItem[4].addText("  Pháo binh", "0xffffff", 15, 10);
					m_baseItem[4].addText("  giám giá nhà 35%\n\n\n\n", "0xFFFF00", 14, 40);
					m_baseItem[4].setScale(50);
					break;
			}
		}
		
		private function init(e:starling.events.Event):void
		{
			removeEventListener(starling.events.Event.ADDED_TO_STAGE, init);
			//vong tron
			m_spriteMovie = new MovieClip(Assets.getAtlas().getTextures("BASE_BUILD_SELECT"), 1);
			this.addChild(m_spriteMovie);
			m_spriteMovie.alpha = 0;
			
			//item
			m_baseItem = new Array();
			for (var i:int = 0; i < 5; i++)
			{
				var _item:itemInUpdateStar = new itemInUpdateStar(150, "item_" , m_sprite,m_itemIndex[i]);
				_item.filter = null;
				m_baseItem.push(_item);
				this.addChild(_item);
			}
			
			this.setAnchorPoint();
			this.setPos(m_pos);
			this.setCicleInfo();
			this.setStageInfo();
			
		}
		public function makeStage():void
		{
			for (var i:int = 0; i < m_baseItem.length; i++)
			{
				if (m_baseItem[i].m_stage == -1)
				{
					colorMatrixFilter = new ColorMatrixFilter();
					colorMatrixFilter.adjustSaturation(-1);    // make image Grayscale
					m_baseItem[i].filter = colorMatrixFilter;
				}
				if (m_baseItem[i].m_stage == 0)
				{
					//m_baseItem[i].m_imageBase.currentFrame = 1;
					m_baseItem[i].filter = null;
					
				}
				if (m_baseItem[i].m_stage == 1)
				{
					m_baseItem[i].m_textStar.visible = false;
					m_baseItem[i].starImage.visible = false;
					m_baseItem[i].filter = null;
					//m_baseItem[i].m_imageBase.currentFrame = 1;
					//m_baseItem[i].starImage.currentFrame = 1;
				}		
			}
		}
		public function setPos(_pos:Point):void
		{
			var w1:int = m_baseItem[0].width;
			var h1:int = m_baseItem[0].height;
			m_spriteMovie.x = _pos.x;
			m_spriteMovie.y = _pos.y;
			
			m_baseItem[4].x = _pos.x + m_baseItem[0].width / 2 - 40;
			m_baseItem[4].y = _pos.y - m_spriteMovie.height / 2 + m_baseItem[0].height / 2 - 505;
			
			m_baseItem[3].x = _pos.x + m_baseItem[0].width / 2 - 40;
			m_baseItem[3].y = _pos.y - m_spriteMovie.height / 2 + m_baseItem[0].height / 2 - 415;
			
			m_baseItem[2].x = _pos.x + m_baseItem[0].width / 2 - 40;
			m_baseItem[2].y = _pos.y - m_spriteMovie.height / 2 + m_baseItem[0].height / 2 - 325;
			
			m_baseItem[1].x = _pos.x + m_baseItem[0].width / 2 - 40;
			m_baseItem[1].y = _pos.y - m_spriteMovie.height / 2 + m_baseItem[0].height / 2 - 235;
			
			m_baseItem[0].x = _pos.x + m_baseItem[0].width / 2 - 40;
			m_baseItem[0].y = _pos.y - m_spriteMovie.height / 2 + m_baseItem[0].height / 2 - 145;
			
			var x0:int = m_baseItem[0].x;
			var y0:int = m_baseItem[0].y;
			var x1:int = m_baseItem[1].x;
			var y1:int = m_baseItem[1].y;
			var x2:int = m_baseItem[2].x;
			var y2:int = m_baseItem[2].y;
			var x3:int = m_baseItem[3].x;
			var y3:int = m_baseItem[3].y;
			var x4:int = m_baseItem[4].x;
			var y4:int = m_baseItem[4].y;
			
			m_baseItem[0].m_info.x = x0 + m_baseItem[0].width-50;
			m_baseItem[0].m_info.y = y0 - m_baseItem[0].height+50;
			
			m_baseItem[1].m_info.x = x1 + m_baseItem[1].width-50;
			m_baseItem[1].m_info.y = y1 - m_baseItem[1].height+50;
			
			m_baseItem[2].m_info.x = x2 + m_baseItem[2].width-50;
			m_baseItem[2].m_info.y = y2 - m_baseItem[2].height+50;
			
			m_baseItem[3].m_info.x = x3 + m_baseItem[3].width-50;
			m_baseItem[3].m_info.y = y3 - m_baseItem[3].height + 50;
			
			m_baseItem[4].m_info.x = x4 + m_baseItem[4].width-50;
			m_baseItem[4].m_info.y = y4 - m_baseItem[4].height+50;
		
		}
		
		override public function release():void
		{
			for (var i:int = 0; i < m_baseItem.length; i++)
			{
				m_baseItem[i].release();
			}
			this.removeChildren();
			m_sprite.removeChild(this);
		}
	}

}